The invention is generally related to computer systems and graphical user interface environments therefor. More particularly, the invention is related to user manipulation of windows and other user interface controls in a graphical user interface environment.
As computers have become more complex and powerful, the manner in which end users or operators interface with computers has grown increasingly important. Early computers relied on switches, lights, and/or punch cards that required an end user to interact essentially in the computers"" native binary languages. Eventually, video displays were developed that enabled end users to interact with computers through textual information and commands. Another significant step in this evolution was the development of graphical user interfaces (GUIs), which permitted end users to interact with computers through the more intuitive operations of xe2x80x9cpointing and clickingxe2x80x9d on graphical display elements or objects with a pointer (or cursor) controlled by a mouse or other user interface device.
The graphical user interface (GUI) generally includes presenting graphical display elements (or xe2x80x9cGUI objectsxe2x80x9d) as two-dimensional images of pixels on a computer display. The pointer is typically presented as overlaying all other elements. One coordinate on the movable pointer is a xe2x80x9chot spot,xe2x80x9d the current position of the coordinate relative to the computer display identifying a specific location (i.e., coordinate position) on the computer display and thus a specific graphical display element at that specific location.
Many user-manipulated pointing devices that control a pointer are adapted to perform a pointer event at the specific location of the hot spot. For example, a single button click on the pointer device may select a graphical display element at the specific location of the hot spot. A double button click on the pointer may execute associated programming of the graphical display element (e.g., an icon shortcut prompting execution of a file).
Positioning the xe2x80x9chot spotxe2x80x9d of a pointer over a desired graphical display element such as an icon or hypertext link is often difficult to accomplish, leading to frustration and lowered productivity. In some instances, a user has diminished visual or physical abilities, or lack of training, to correctly position the pointer.
Pointer positioning difficulty may also be attributable to the computer system. For example, a computer display may provide a high density presentation of material, rendering graphical display elements relatively small. Similarly, small computer displays such as with palm-held devices may make graphical display elements difficult to select. Also, some pointing devices may be overly sensitive to user inputs, generating a large displacement of the pointer in response to a small input. Reducing the sensitivity may be inappropriate due to the corresponding increase in the required user input (e.g., in time or distance) for the pointer to traverse the computer display.
In addition to the user and hardware limitations, the content displayed on a computer display may include small graphical display elements, making difficult user selection with a pointing device. Moreover, making the pointer smaller so as to make its hot spot more intuitive is generally not practical due to difficulty in seeing the pointer.
Failing to place the hot spot of the pointer at the desired location on the computer display creates problems by failing to perform the desired function, thus having to repetitively readjust the pointer and perform a pointer event, such as a button click. Alternatively, the inability to correctly place the pointer may cause an inadvertent function. For example, an inactive window may be inadvertently selected, with window refocus hiding the graphical display element of interest. As another example, a window tool bar icon, such as xe2x80x9cSavexe2x80x9d may be inadvertently selected rather than a desired xe2x80x9cUndoxe2x80x9d icon, perhaps losing data.
Therefore, a significant need exists for an improved manner of activating graphical display elements with a pointing device.
The invention addresses these and other problems associated with the prior art in providing an apparatus, program product and method in which a movable pointer, controlled by a user-manipulated pointing device, incorporates an alternate hot spot for use in interacting with a graphical display element on a computer display. More specifically, in response to a user selection operation with the user-manipulated pointing device with the first coordinate of the pointer not disposed within an input region of a graphical display element (or GUI object), a second chance pointer operation is performed at a second coordinate of the pointer.
In one aspect consistent with the invention, the graphical display element is selected in response to the second coordinate being within the input region of the graphical display element. This enables a user that may miss an intended targeted graphical display element nonetheless to select the targeted graphical display element if the alternate hot spot (e.g., second coordinate) is disposed over that target. As such, user mistakes may be minimized and user productivity can be increased.
In another aspect consistent with the invention, in response to a first pointer event at the first coordinate position, a second pointer event is generated at the second coordinate position.